<%-- 
    Document   : cadastrarEspaco
    Created on : 20/10/2011, 08:49:04
    Author     : 0433101
--%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@page import="DAO.EnderecoDAO"%>
<%@page import="Model.Endereco"%>
<%@page import="Model.Recurso"%>
<%@page import="DAO.RecursoDAO"%>
<%@page import="java.util.ArrayList"%>
<%@page import="DAO.TipoEspacoDAO"%>
<%@page import="Model.TipoEspaco"%>
<%@page import="Exceptions.PrivilegioInsuficienteException"%>
<%@page import="Model.Usuario"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@include file = "autenticacaoAdministrador.jsp"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Sistema Controle de Reservas</title>
        <script type="text/javascript">
            function mudar(box){
                if(box.checked){
                    document.getElementById("quantidade_" + box.value).style.display = "block";
                }
                else{
                    document.getElementById("quantidade_" + box.value).style.display = "none";
                }
            }
            
            function validar(form){
                var num = form.numSala.value;
                var cap = form.capacidade.value;
                document.getElementById("numAlert").innerHTML = "";
                document.getElementById("capacidadeAlert").innerHTML = "";                
                                
                if(num == ""){
                    document.getElementById("numAlert").innerHTML = "CAMPO NÚMERO DA SALA DEVE SER PREENCHIDO!";
                    form.numSala.focus();
                    return false;
                }
                num = Number(num);
                if(isNaN(num)){
                    document.getElementById("numAlert").innerHTML = "NÚMERO INVÁLIDO!";
                    form.num.focus();
                    return false;
                }
                if(cap == ""){
                    document.getElementById("capacidadeAlert").innerHTML = "CAMPO CAPACIDADE DEVE SER PREENCHIDO";
                    form.capacidade.focus();
                    return false;
                }
                cap = Number(cap);
                if(isNaN(cap)){
                    document.getElementById("capacidadeAlert").innerHTML = "NÚMERO INVÁLIDO";
                    form.capacidade.focus();
                    return false;
                }
                
                return true;
            }
            
            function IniciaAjax(){
                    var HTTP_REQUEST;

                    try{
                        HTTP_REQUEST = new ActiveXObject("Microsoft.XMLHTTP");
                    }
                    catch(e){
                        try{
                            HTTP_REQUEST = new ActiveXObject("Msxml2.XMLHTTP");
                        }
                        catch(ex){
                            try{
                                 HTTP_REQUEST = new XMLHttpRequest();
                                 HTTP_REQUEST.overrideMimeType('text/html');
                            }
                            catch(exc)
                            {
                                 alert("Esse browser não tem recursos para uso do Ajax");
                                 HTTP_REQUEST = null;
                            }
                        }
                    }
                    return HTTP_REQUEST;
                }
                
                function validaEspaco(){
                    document.getElementById("numAlert").innerHTML = "";
                    var numero = document.getElementById("formEspaco").numSala.value;
                    if(!isNaN(numero)){                    
                        var endereco = document.getElementById("formEspaco").endereco.value;
                        xmlhttp = IniciaAjax();
                        if(numero != ""){
                            file = "MainAccessServlet?cmd=validaEspaco&numero=" + numero + "&endereco=" + endereco;
                            xmlhttp.open("POST",file, true);
                            xmlhttp.send();
                            xmlhttp.onreadystatechange = response;
                        }
                    }
                    else{
                        document.getElementById("numAlert").innerHTML = "<font color='red'> Número inválido! </font>"
                    }
                }
                
                function response(){
                    if (xmlhttp.readyState==4 && xmlhttp.status==200){
                        document.getElementById("numAlert").innerHTML = xmlhttp.responseText;
                    }
                }
        </script>
    </head>    
    <body>        
        <h1>Cadastro de Espaço:</h1>
        <form id="formEspaco" name="formEspaco" method="post" action="MainAccessServlet" onsubmit="return validar(this)" accept-charset="iso-8859-1,utf-8">
            Número do Espaco: <input type="text" name="numSala" onblur="validaEspaco()"/><br>
            <label id="numAlert"></label><br>            
            Capacidade: <input type="text" name="capacidade"/><br>
            <label id="capacidadeAlert"></label><br>
            <select name="endereco" onchange="validaEspaco()">
            <c:forEach var="endereco" items="${enderecos}">
                <option value="${endereco.id_endereco}">${endereco.cidade}, ${endereco.rua} ${endereco.numero}</option>
            </c:forEach>
            </select>
            <select name="tipoEspaco">
                <c:forEach var="tipo" items="${tipos}">
                    <option value="${tipo.id}">${tipo.nome}</option>
                </c:forEach>
            </select>
            Descrição: <input type="text" name="descricao"/><br>
            <input type="hidden" name="cmd" value="cadastrarEspaco"/><br>
            <table border="1">
                <tr>
                    <th>Id do Recurso</th>
                    <th>Nome do Recurso</th>
                    <th>Quantidade</th>
                    <th>Acrescentar</th>
                    <th>Quantidade a Acrescentar</th>
                </tr>
                <c:forEach var="r" items="${recursos}">
                    <tr>
                        <td>${r.id_recurso}</td>
                        <td>${r.nome_recurso}</td>
                        <c:if test="${r.quantidade_disponivel != -1}">
                            <td>${r.quantidade_disponivel}</td>
                        </c:if>
                        <c:if test="${r.quantidade_disponivel == -1}">
                            <td> Recurso não quantitativo! </td>
                        </c:if>
                        <td><input type="checkbox" name="recurso" value="${r.nome_recurso}" onchange="mudar(this)"/></td>
                        <c:if test="${r.quantidade_disponivel != -1}">
                            <td><input type="text" name="quantidade_${r.nome_recurso}" id="quantidade_${r.nome_recurso}" style="display:none;"/></td>                        
                        </c:if>
                        <c:if test="${r.quantidade_disponivel == -1}">
                            <td> Recurso não quantitativo! </td>
                        </c:if>                        
                    </tr>
                </c:forEach>
            </table><br>
            <input type="submit" value="Cadastrar"/><input type="reset" value="Limpar"/>
            <button type="button" onclick="location.href='menuAdministrador.jsp'">Voltar</button><br>
        </form>
    </body>
</html>
